import java.util.Scanner;

public class A013 {
	// 羅馬數字 類別
	private static class Roman {
		// 羅馬數字 記號
		private static String token[][] =
			{ {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"},
				{"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"},
					{"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"},
						{"", "M", "MM", "MMM", "", "", "", "", "", ""} };
		// 記號所代表的阿拉伯數字
		private static int Value(char inputToken) {
			switch(inputToken) {
			case 'M':
				return (1000);
			case 'D':
				return (500);
			case 'C':
				return (100);
			case 'L':
				return (50);
			case 'X':
				return (10);
			case 'V':
				return (5);
			}
			// case 'I':
			return (1);
		}
		// 將記號轉換成阿拉伯數字
		private static int tokenCalculator(char token[]) {
			int tokenValue = Value(token[token.length - 1]);
			
			for(int c = 0; c < token.length - 1; c++) {
				if(Value(token[c]) >= Value(token[c + 1]))
					{ tokenValue += Value(token[c]); }
				else
					{ tokenValue -= Value(token[c]); }
			}
			
			return tokenValue;
		}
	}
	public static void main(String args[]) {
		Scanner sc = new Scanner(System.in);
		
		while(sc.hasNext()) {
			String input = sc.nextLine();
			// 接收結束指令
			if(input.length() == 1)
				{ return; }
			
			String[] spInput = input.split(" ");
			char preToken[] = spInput[0].toCharArray();
			char postToken[] = spInput[1].toCharArray();
			
			int preValue = Roman.tokenCalculator(preToken);
			int postValue = Roman.tokenCalculator(postToken);
			int resultDigit = Math.abs(preValue - postValue);
			
			String output = "";
			
			if(resultDigit == 0) {
				output += "ZERO";
			} else {
				int columnDetermine = 1000;
				for(int row = 3; row >= 0; row--) {
					output += Roman.token[row][resultDigit / columnDetermine];
					
					resultDigit %= columnDetermine;
					columnDetermine /= 10;
				}
			}
			
			System.out.println(output);
		} // hasNext
	} // main
}
